Web portals (Web normally refers here to the World Wide Web) allow users to have a role specific personalized view on your enterprise's application and Web content to your end users via a single entry point. Applications and information coming from multiple sources are aggregated into a portal page that serves a specific business need helping site visitors, customers or employees to get to their individual goals more efficiently. This could mean, e.g., for an employee to get the individual job tasks done more quickly and make faster and better decisions because all relevant information and applications are immediately at hand on the corresponding portal page, or for a site visitor to find targeted information and applications for her or his specific user profile.
In those portal systems, the portal page is typically assembled by page editors putting the right set of application components (typically portlets) and the right set of accompanying Web content onto those pages and then exposing those pages to individual user roles, as needed. The Web content in turn, is typically created by content authors using a Web content management system (WCMS) that provides the means to efficiently create Web content supporting concepts like workflow based approval processes for new content, previewing of new draft content, versioning and re-usable design components to support a consistent look and feel, targeting of the right content to the right user profiles, archiving and syndicating newly created or modified content from an authoring system to individual delivery systems.
On the other hand one trend of the current era is the integration capabilities that are offered by any kind of Web system. This may include systems in the field of Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Business Intelligence, Analytics (BI or BA) or e-Commerce. These kinds of services will more and more become available in the cloud and thus provide potential for effective integration scenarios. This is especially meaningful in order to avoid media discontinuity by switching from one cloud offering, i.e., from one Web page to the next, and thus lacking operational efficiency.
Thus integrating a portal with any service that is available in the Web is extremely attractive as it allows for displaying and interacting with said services in the context of displayed related information on one Web site and thus has the interaction with said services available at the end-user's fingertips.
In prior art, these kinds of integration scenarios are typically realized by dedicated pieces of integration code. On the one hand side, this could be realized as specialized portlet application accessing remote services and generating the markup that is to be added as a fragment of an overall portal page. On the other hand, it could be accomplished via already defined extension points of a pluggable architecture which upfront define the information that is to be served by those code fragments that will be plugged into said pluggable architecture.
A typical prior art integration between Web portal and external Web sites may be based on a portal comprising a page model, a portlet model and a Web content management system (WCMS). A page editor, a portlet developer, a content author and a site designer are required to collaborate in the development of such an integration in order to interact with an external Web site in a desktop computer browser, a tablet computer browser or a mobile phone browser. Thus, a huge effort is required to make it work.
One of the limitations of prior art solutions is the fact that a mapping between the data structure format returned by the remote Web sites can either not be controlled at all or is controlled in application code for which further programming skills are needed. Furthermore, prior art solutions do not foresee extendibility and adjustability to new or evolving remote data structures and are rather static in nature.
The other drawback with existing solutions is the fact that they are rather aimed at a READING use case. As more and more remote services will become available in the cloud—including write operations such as creation and update of data structures—the existing integration patterns lack completeness in the integration use cases that may be covered.
As a consequence, integrating new remote services, feeds and data structures come with big complexity as sophisticated programming skills are required. Furthermore, extending the integrated data or adjusting to evolving data structures always comes with excessive implementation and testing cycles as this usually means working at the core of the integration logic. Organizations face these restrictions in a way that either their IT department lacks respective programming skills or that only very restricted time frames are available for deploying new integration logic into the system. Interaction services, as the aforementioned, are usually tightly controlled by the application logic that is actually performing an interaction due to the fact that there is no generalized pattern on how to interact with these kinds of services.
The lack of adaptability is less of a problem on sites where the focus lies clearly on one use case and the integration is only focusing on few services and nothing further.
A portal page and experience, however, may be comprised of various components among which are portlets as well as Web content created by Web content author(s). The visitor's expectation is to integrate information and capabilities of such third party provided services like CRM, ERP, BI, Analytics available on the portal page nicely fitted into the existing portal page from a look and feel perspective as well as from an interaction perspective which means that full use cases are available on that page and the user is not restricted to viewing information from remote systems only, but as soon as interaction is necessary needs to navigate to the native user interface (UI) of the remote system.
Hence, there is a need, for a more effective integration of different interactive services from outside service provider Web sites. Ideally, no additional programming requirement may be necessary if a new type of interactive service may be called by a portal which may have an unknown interaction style.